README
AWS EDU Week2 - 동적 웹 애플리케이션 배포 실습
실습 개요
AWS 클라우드 환경에서 동적 웹 애플리케이션을 배포하는 두 가지 방법을 학습합니다.
- 기본 실습: Node.js 기반 2-Tier 아키텍처 (EC2 + RDS)
- 심화 실습: Web/WAS 분리 3-Tier 아키텍처 (Apache + Tomcat + RDS)
학습 목표
기본 실습 (Node.js 2-Tier)
- AWS EC2, VPC, RDS를 활용한 웹 애플리케이션 구축
- Node.js와 MySQL 데이터베이스 연동
- 환경변수를 통한 안전한 DB 연결 관리
심화 실습 (Web/WAS 분리 3-Tier)
- Apache HTTP Server와 Tomcat WAS 분리 구조
- JSP 기반 웹 애플리케이션
- 프록시를 통한 정적/동적 파일 처리 분리
실습 진행 순서
공통 준비 과정
01-사전준비 → 02-VPC설계
기본 실습 경로 (Node.js)
03-기본실습-NodeJS/
├── 01-EC2인스턴스시작.md (EC2 생성 및 설정)
├── 02-NodeJS설치배포.md (Hello World 웹서버)
├── 03-RDS생성.md (MySQL 데이터베이스 생성)
└── 04-RDS연결업그레이드.md (실제 웹앱으로 업그레이드)
심화 실습 경로 (Web/WAS 분리)
04-심화실습-WebWAS분리/
├── 01-아키텍처이해및준비.md (개념 이해 + WAS 서버 생성)
├── 02-WAS서버구성.md (Tomcat + JSP 설치)
├── 03-Web서버연동.md (Apache + 프록시 설정)
└── 04-데이터베이스연동.md (MySQL 연동 완성)
완성될 아키텍처
기본 실습 결과 (2-Tier)
인터넷 → Internet Gateway → VPC
├── Public Subnet (EC2 Node.js)
└── Private Subnet (RDS MySQL)
심화 실습 결과 (3-Tier)
인터넷 → Internet Gateway → VPC
├── Public Subnet (EC2 Apache)
├── Private Subnet (EC2 Tomcat)
└── Private Subnet (RDS MySQL)
주요 기술 스택
기본 실습
- Node.js + Express.js: 웹 서버 프레임워크
- MySQL: 데이터베이스 (RDS)
- HTML/CSS/JavaScript: 프론트엔드
- PM2: 프로세스 관리
심화 실습
- Apache HTTP Server: 웹 서버 (정적 파일 처리)
- Apache Tomcat: Java WAS (동적 처리)
- JSP: 서버사이드 애플리케이션
- MySQL: 데이터베이스 (RDS)
시작하기
- AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/Week2-전체가이드 문서에서 전체 개요 확인
- 01-사전준비 폴더부터 순서대로 진행
중요 사항
보안 주의사항
- SSH 키 페어 안전하게 보관
- 강력한 RDS 비밀번호 사용
- 환경변수를 통한 DB 연결 정보 관리
- 보안 그룹에서 필요한 포트만 최소한으로 개방
비용 관리
- 실습 완료 후 모든 AWS 리소스 삭제
- RDS 삭제시 최종 스냅샷 생성 여부 확인
포트폴리오 자료
실습 완료 후 다음을 스크린샷으로 남겨 포트폴리오로 활용하세요:
기본 실습
- AWS 콘솔에서 생성된 EC2, RDS 리소스
- Node.js 웹 애플리케이션 동작 화면
- 데이터베이스에 저장된 사용자 데이터
- PM2로 관리되는 프로세스 상태
심화 실습
- 3-Tier 아키텍처 네트워크 다이어그램
- Apache에서 처리되는 정적 페이지
- Tomcat에서 처리되는 동적 JSP 페이지
- 완성된 사용자 등록/조회 기능
시작하기: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/Week2-전체가이드 문서부터 진행하세요!
라이센스
이 실습 자료는 교육 목적으로 제작되었습니다.